\begin{tikzpicture}
	\node[bluebox] (vmm) {VMM};
	\node[left=2.2cm of vmm] (du1) {};
	\node[right=2.2cm of vmm] (du2) {};
	\node[gray, font=\scriptsize, above=2.2cm of vmm] (du3) {VMX non-root};

	\node[gray, font=\scriptsize, below=2mm of vmm] {VMX root};

	\node[greenbox, left=3mm of du3]  (gu0) {Guest 0};
	\node[greenbox, right=2mm of du3] (gu1) {Guest 1};

	\draw[arrow] (du1) to node[auto] {VMXON}  (vmm);
	\draw[arrow] (vmm) to node[auto] {VMXOFF} (du2);

	\draw[arrow] (vmm) to node[right] {VM Entry} (gu0);
	\draw[arrow] (gu0) to[bend right] node[left] {VM Exit} (vmm);
	\draw[arrow] (vmm) to (gu1);
	\draw[arrow] (gu1) to[bend left] node[right] {VM Exit} (vmm);
\end{tikzpicture}
